package cn.seaboot.flake.entity;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * POJO
 * 数据库表映射 [t_db_mapping_table]
 * <p>
 *
 * @author ChenSS on 2018/4/28.
 */
public class MappingTable implements Serializable {
    private static final long serialVersionUID = 2232969647721377181L;

    /**
     * 数据库名
     */
    private String schemaName;
    /**
     * 表名
     */
    private String tableName;
    /**
     * 驼峰式命名
     */
    private String camelName;
    /**
     * 帕斯卡命名
     */
    private String pascalName;
    /**
     * 中文描述
     */
    private String tableComment;
    /**
     * 表别名
     */
    private String tableAlias;
    /**
     * 列数据
     */
    private List<MappingColumn> columns;
    /**
     * 额外的数据
     */
    private Map<String, Object> attach;

    public String getSchemaName() {
        return schemaName;
    }

    public void setSchemaName(String schemaName) {
        this.schemaName = schemaName;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getCamelName() {
        return camelName;
    }

    public void setCamelName(String camelName) {
        this.camelName = camelName;
    }

    public String getPascalName() {
        return pascalName;
    }

    public void setPascalName(String pascalName) {
        this.pascalName = pascalName;
    }

    public String getTableComment() {
        return tableComment;
    }

    public void setTableComment(String tableComment) {
        this.tableComment = tableComment;
    }

    public String getTableAlias() {
        return tableAlias;
    }

    public void setTableAlias(String tableAlias) {
        this.tableAlias = tableAlias;
    }

    public List<MappingColumn> getColumns() {
        return columns;
    }

    public void setColumns(List<MappingColumn> columns) {
        this.columns = columns;
    }

    public Map<String, Object> getAttach() {
        return attach;
    }

    public void setAttach(Map<String, Object> attach) {
        this.attach = attach;
    }

    @Override
    public String toString() {
        return "MappingTable{" +
                "schemaName='" + schemaName + '\'' +
                ", tableName='" + tableName + '\'' +
                ", camelName='" + camelName + '\'' +
                ", pascalName='" + pascalName + '\'' +
                ", tableComment='" + tableComment + '\'' +
                ", tableAlias='" + tableAlias + '\'' +
                ", columns=" + columns +
                ", attach=" + attach +
                '}';
    }
}
